home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / pas_0493.zip / DIMAKER.PAS < prev    next >
Pascal/Delphi Source File  |  1993-04-29  |  3KB  |  73 lines

  1. {─ Fido Pascal Conference ────────────────────────────────────────────── PASCAL ─
  2. Msg  : 596 of 708
  3. From : Reynir Stefansson                   2:391/20.0           14 Apr 93  17:33
  4. To   : All
  5. Subj : DOORINFO.DEF maker.
  6. ────────────────────────────────────────────────────────────────────────────────
  7.      Some time ago I looked at the Waffle BBS v1.63. I wrote this proglet
  8. to create a DOORINFO file for certain aftermarket utilities. Here you are:}
  9.  
  10. PROGRAM DIMaker; {Writes DOORINFO.DEF/DORINFOn.DEF for Waffle BBS. }
  11.  
  12. VAR tf : TEXT; Graphic : INTEGER; Port : CHAR; SysName, SysOpFirst, SysOpLast,
  13.     Baud, Terminal, First, Last, CallLoc, TimeLeft, SecLev, FossilOn,
  14.     SysDir, FileName : STRING;
  15.  
  16. { Command line for Waffle: }
  17.  
  18. { dimaker ~%b ~%t ~%O ~%a ~%F ~%A@~%n ~%L -1 [-|n] }
  19.  
  20. PROCEDURE WriteDorInfo;
  21. BEGIN
  22.    Assign(tf, SysDir+FileName+'.DEF');
  23.    Rewrite(tf);
  24.    WriteLn(tf, SysName);                { BBS name }
  25.    WriteLn(tf, SysOpFirst);             { SysOp's first name }
  26.    WriteLn(tf, SysOpLast);              { SysOp's last name }
  27.    WriteLn(tf, 'COM', Port);            { COMport in use }
  28.    WriteLn(tf, Baud, ' BAUD,8,N,1');    { Speed and char format }
  29.    WriteLn(tf, '0');                    { ? }
  30.    WriteLn(tf, First);                  { User's first name }
  31.    WriteLn(tf, Last);                   { User's last name }
  32.    WriteLn(tf, CallLoc);                { User's location }
  33.    WriteLn(tf, Graphic);                { 1 if ANSI, 0 if not. }
  34.    WriteLn(tf, SecLev);                 { Security level }
  35.    WriteLn(tf, TimeLeft);               { Time until kick-out }
  36.    WriteLn(tf, FossilOn);               { -1 if using FOSSIL, 0 if not }
  37.    Close(tf);
  38. END;
  39.  
  40. { Don't let my reusing of variables disturb you. }
  41. PROCEDURE GatherInfo;
  42. BEGIN
  43.    FileName[1] := '-';
  44.    SysName := ParamStr(0);
  45.    Graphic := Length(SysName);
  46.    REPEAT Dec(Graphic) UNTIL SysName[Graphic]='\';
  47.    SysDir := Copy(SysName, 1, Graphic);
  48.    Assign(tf, Copy(SysName, 1, Length(SysName)-4)+'.CFG');
  49.    Reset(tf);
  50.    ReadLn(tf, SysName);
  51.    ReadLn(tf, SysOpFirst);
  52.    ReadLn(tf, SysOpLast);
  53.    Close(tf);
  54.    Baud     := ParamStr(1);
  55.    Terminal := ParamStr(2);
  56.    TimeLeft := ParamStr(3);
  57.    SecLev   := ParamStr(4);
  58.    First    := ParamStr(5);
  59.    Last     := ParamStr(6);
  60.    CallLoc  := ParamStr(7);
  61.    FossilOn := ParamStr(8);
  62.    FileName := ParamStr(9);
  63.    Port := FileName[1];
  64.    IF Port='-' THEN FileName := 'DOORINFO' ELSE FileName := 'DORINFO'+Port;
  65.    IF Terminal='vt100' THEN Graphic := 1 ELSE Graphic := 0;
  66.    Port := '2';
  67.    IF Baud='LOCAL' THEN BEGIN Baud := '0'; Port := '0'; END;
  68. END;
  69.  
  70. BEGIN;
  71.    GatherInfo;
  72.    WriteDorInfo;
  73. END.